The general-purpose digital computer is one of the most powerful and remarkable information processing tools ever invented. Indeed, the advent of the digital computer, and the proliferation of a global digital information network known as the Internet, has thrust the world headlong into what is now recognized by many analysts as an “information era” and an “information economy,” in which the ability to access and process information in an effective manner is one of the most important forms of economic power.
The potential impact of the digital computer and the Internet on information distribution and processing is undeniably revolutionary. Yet, conventional software environments are generally organized around metaphors and principles from earlier eras. Text-based operating systems like Microsoft® DOS essentially treat the computer as a giant filing cabinet containing documents and applications. A strictly hierarchical file directory provides a rigid, tree-like structure for this digital file cabinet. Individual documents are the “leaves” of this tree hierarchy. The directory structure generally does not include or express relationships between leaves, and users generally access documents and applications individually, using the directory structure. Even the now ubiquitous graphical “desktop” computing environment, popularized for personal computers by the Apple Macintosh® and Microsoft Windows® operating systems, also simulates a traditional office environment. Individual documents and applications, represented by graphical icons, are displayed on the user's screen, to be accessed one-at-a-time. Once again, a strictly hierarchical, tree-like directory structure is imposed to organize the contents of the desktop.
Although the desktop and file cabinet metaphors have been commercially successful, the limitations and drawbacks of these traditional metaphors become clear when one considers the strikingly different way in which the world's other powerful information processing machine—the human brain—organizes information. Instead of being confined and limited to strictly hierarchical file directory structures, the human brain is thought to interconnect numerous pieces of information through flexible, non-hierarchical, associative networks. As those of skill and experience in the art are aware, it is often clumsy for users of traditional, prior art operating system interfaces to process multiple pieces of information if these pieces are contextually related in some way, but are stored in separate files and/or are associated with different application programs. Too often, the prior art of organizing information lead users to “misplace” information amongst hierarchical categories which often lose their relevance soon after the user creates them. Intended to assist users, traditional hierarchical structures and “desktop” metaphors compel users to organize their thought processes around their computer software, instead of the reverse. The inadequacy of “real-world,” hierarchical metaphors for information management was recognized prior to the advent of the computer, but until now has not been successfully remedied.
The recent deluge of digital information bombarding everyday computer users from the Internet only heightens the need for a unified, simple information management method which works in concert with natural thought processes. Additionally, users' ready enthusiasm for the World Wide Web graphical “hypertext” component of the Internet demonstrates the appeal of associative, nonlinear data structures, in contrast to the limiting structure of computerized desktop metaphors. And yet, prior art web browsers and operating systems awkwardly compel users to navigate the associative, non-dimensional structure of the World Wide Web using linear, or at best hierarchical user interfaces.
What is desired is an effective methodology for organizing and processing pieces of interrelated information (or “thoughts”) using a digital computer. The methodology should support flexible, associative networks (or “matrices”) of digital thoughts, and not be limited to strict, tree hierarchies as are conventional, prior art technologies. A related goal is to create an intuitive and accessible scheme for graphically representing networks of thoughts, providing users with access to diverse types of information in a manner that maximizes access speed but minimizes navigational confusion. Finally, that methodology should be optimized to enable users to seamlessly manage, navigate, and share such matrices consisting of files and content stored both locally on digital information devices, as well as remotely via digital telecommunications networks such as local area networks, wide area networks, and public networks such as the Internet.
Another problem that the embodiments of the present invention solve is the interface needs of a network web server with various repositories. On the Internet today, various companies and organizations maintain their own private repository of data. The ease of access to the data in these repositories range from limited to full access. In some cases, these companies and organizations allow the public to access the data in their repository. In other cases, these private repositories are strictly for internal use. In addition, regardless of whether the data was public or private, these databases were programmed with different languages that posed some communication difficulties.
The ease of use of the data in these repositories range from cumbersome to difficult. When the data involves relational databases, current methods of viewing data are confined to tables, columns, and folder hierarchies. The only way to visualize the aggregate of data contained within relational databases was to print complex reports. What is needed is a system or method that allows users to communicate with these various types of repositories or external software systems so that the data therein can be used in an effective and meaningful way. Preferably, that system would (i) permit access to and visualization of multiple repositories of different types simultaneously under a single user interface; and (ii) where made possible by properly preparing those repositories, reduce communications complexity by permitting clients to access those repositories directly.
Another requirement to the advancement in the art of associative interfaces is enabling multiple users to access and edit common sources of associative data. In some instances, it will be convenient for those users to access those data sources in real-time. In the past, a token system ensuring that only a single user is permitted to change a single item of associative data at a time. But further implementation and variations of such a system of reconciling conflicting user requests is needed. In other instances, it will be more convenient for users to modify the data from those sources offline, and synchronize their edits when they reconnect to the shared data sources.
As has been previously taught, there will be instances that require multiple documents to be associated with a single item of associative data, such as versioning and others. A more articulated file architecture will be needed to support multiple items of data referencing multiple documents.